# task 2
# 购物车
# 启动程序后，用户输入工资，打印商品列表
# 用户根据商品编号选购商品
# 判断用户是否有能力购买，能则直接扣款。否则提醒用户余额不足
# 可随时退出，退出时打印已购商品列表，用户余额

goods_list = [
    ['IPhoen', 5000],
    ['bike', 800],
    ['coffee', 40],
    ['tea', 30],
    ['Mac Pro', 12000],
]

print('== Welcome to taobao ==')
total = int(input('输入你的工资: '))
purch_list = []
while True:    
    print('---- the goods below ----')
    for i in range(0, len(goods_list)):
        print(i+1, goods_list[i][0], goods_list[i][1])
    print('-'*10)
    print('---> 目前余额: %d' % total)
    choice = input('请输入要购买的商品的编号或者[q]退出: ')
    try:  
        choice = choice if choice == 'q' else int(choice)
    except:
        print('无效的选择')
        continue
    if choice in range(1, len(goods_list)+1):
        if goods_list[choice-1][1] <= total:
            total = total - goods_list[choice-1][1]
            purch_list.append(goods_list[choice-1])
        else:
            print('---> 你的余额不足')
            print('---> 你的余额是: %d\n' % total)
    elif choice == 'q':
        if purch_list:
            print('你购买了以下商品:')
            for goods in purch_list:
                print(goods[0], goods[1])
        else:
            print('你的购物车是空的')
        print('你的余额是: %d' % total)
        exit()
    else:
        print('无效的选择')

